#ifndef AST_EXPRESSION_AND_EXPR_H
#define AST_EXPRESSION_AND_EXPR_H

#include "../ASTNode.h"

class EqualityExpr;

/*
C99 6.5.10
AND-expression:
		equality-expression
		AND-expression    &    equality-expression
*/
class AndExpr : public ASTNode
{
protected:
	AndExpr(void)
		: ASTNode(ASTNode::AND_expression){};
public:
	AndExpr(EqualityExpr *pSingleExpr)
		: ASTNode(ASTNode::AND_expression)
		, m_pEqExpr(pSingleExpr)
		, m_pAndExpr(NULL){};
	AndExpr(AndExpr *pAndExpr, EqualityExpr *pEqExpr)
		: ASTNode(ASTNode::AND_expression)
		, m_pEqExpr(pEqExpr)
		, m_pAndExpr(pAndExpr){};


	virtual ~AndExpr(void);


	virtual void					codeGen();
protected:
	EqualityExpr *					m_pEqExpr;
	AndExpr	*						m_pAndExpr;
};



#endif

